An integrated development environment (IDE) provides a set of tools such as editing and debugging software for programmers. These tools are utilized to create and to debug new software programs. The IDE supports software development by providing a windowed system for source file editing, project management, file interdependency management and debugging. ECLIPSE®, by the Eclipse Foundation, is an IDE for C and C++ development on the LINUX® platform. ECLIPSE® uses a plug-in based software model where all the components of the IDE are structured as plug-ins for the IDE.
There are many other types of programming tools that are not part of an IDE and are used on a stand-alone basis. One example of a stand-alone tool is Systemtap. Systemtap is an instrumentation system that provides a scripting language and command line interface for monitoring system performance. Systemtap can be utilized to define probes in a binary for the purpose of monitoring the execution of the binary by threads. Another example of a stand-alone profiling tool is Oprofile. Oprofile is a profiling utility for the LINUX® platform that provides another suite of profiling tools. The tools include a cache miss counter, a cache stall counter, a memory fetch counter and an additional set of profilers that can profile interrupt handlers and kernels. The tools of Systemtap and Oprofile are typically command line tools that generate simple flat output files.